package cn.zn.framework.common.annotation;

import java.lang.annotation.*;

/**
 * 唯一性验证<br/>
 * 待验证的实体需要实现接口 UniqueVerField
 *
 * @author zn
 * @since 2019-07-31
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface UniqueVer {
    /**
     * 验证对象类型
     *
     * @return
     */
    Class<? extends UniqueVerField> value();

    /**
     * 不是实体，需要定义idKey，verKeys
     *
     * @return
     */
    boolean notEntity() default false;

    /**
     * 主键KEY
     *
     * @return
     */
    String idKey() default "";

    /**
     * 验证字段KEY
     *
     * @return
     */
    String[] verKeys() default {};

}
